//1232. 缀点成线
//思路：计算两相邻点的斜率

#include <vector>
using namespace std;

class Solution {
public:
    bool checkStraightLine(vector<vector<int>>& coordinates) {
        /*
        *   一般式：Ax+By+C=0（AB≠0）
        *   两点式：(y-y1)/(x-x1)=(y-y2)/(x-x2) 　
            （直线过定点(x1,y1),(x2,y2)）
        */
        int n = coordinates.size();
        for(int i = 1; i < n-1; i++)
        {
            if(
                (coordinates[i][0]-coordinates[0][0])*
                (coordinates[i][1]-coordinates[n-1][1])
                !=
                (coordinates[i][1]-coordinates[0][1])*
                (coordinates[i][0]-coordinates[n-1][0])
            )
                return false;
        }
        return true;
    }
};